package com.william.jdbcplus.core.condition.wrap;

/**
 * mybatis脚本接口
 *
 * @author niliwei
 */
public interface SqlWrap {
    /**
     * 获取选中列脚本， 带 select
     * <p>
     * select a, b, c
     * </p>
     *
     * @return
     */
    String getSelectSql();

    /**
     * 获取表名， 带 from
     *
     * @return
     */
    String getFromSql();

    /**
     * 获取where条件， 带 where
     *
     * @return
     */
    String getWhereSql();

    /**
     * 获取where条件， 不带 where
     *
     * @return
     */
    String getWhereSqlSegment();

    /**
     * 获取group by条件， 带 group by
     *
     * @return
     */
    String getGroupBySql();

    /**
     * 获取 having 条件， 带 having
     *
     * @return
     */
    String getHavingSql();

    /**
     * 获取 order by 条件， 带 orderby
     *
     * @return
     */
    String getOrderBySql();

    /**
     * 获取完整查询脚本
     *
     * @return
     */
    String getAllSql();

    /**
     * 获取查询count脚本
     *
     * @return
     */
    String getCountSql();

}
